// pages/list/list.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
      listArr:[ ]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    //获取数据
    initValue(this);
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
      //获取缓存数据
    initValue(this);
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  //添加
  add(){
    //跳转到添加页面,跳转后可以返回，有返回按钮
    wx.navigateTo({
      url: '/pages/add/add',
    })
    //页面重定向，不能返回的，没有返回按钮
    // wx.redirectTo({
    //   url: '/pages/add/add',
    // })
  },
  //修改
  //在页面跳转时，我们的数据传输尽量只传递id
  edit(ev){
    console.log(ev);
    //获取需要修改的数据的id
    let id = ev.currentTarget.dataset.id;
    //路由跳转navigateTo 不能跳转到有tabBar的页面的
    wx.navigateTo({
      url: '/pages/add/add?id='+id,
    })
    //
    
  },
  //删除
  del(ev){
    console.log(ev);
    //获取需要修改的数据的id
    let id = ev.currentTarget.dataset.id;
    //调用删除缓存的数据函数
    let that = this;
    //输出的有确定和取消的弹框
    wx.showModal({
      title: '删除确认',
      content: '请确定是否要删除这条记录？',
      success(res) {
        if (res.confirm) {
          console.log('用户点击确定')
          
          delValue(that, id);
        } else if (res.cancel) {
          console.log('用户点击取消')
        }
      }
    })

    
  },
  //演示的跳转到tabBar的页面
  toPlugin(){
    //跳转到有tabBar的页面 ，跳转后没有回退的按钮
    wx.switchTab({
      url: '/pages/plugin/plugin',
    })
  }



})


//获取缓存数据的函数
function initValue(page){
//获取缓存数据
  let arr = wx.getStorageSync('note');
  if(arr.length){
    //赋值给listArr
    page.setData({
      listArr:arr
    })
  }
}

//删除缓存
function delValue(page, id){
  var arr = wx.getStorageSync('note');
  var data = [];//将删除完的数据保存到这个数组中
  if(arr.length){
    //1.找到要删除的数据，其他不删除的数据都保存到data中
    arr.forEach((item)=>{
      if(id != item.id){//不需要删除的记录
        data.push(item);
      }
    })
    //2.将data重新存入缓存，
    wx.setStorageSync('note', data)
    //3.重新setData一下
    page.setData({
      listArr:data
    })

  }

}